package com.example.mall.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.util.Date;

import java.io.Serializable;

/**
 * <p>
 * 异常报警记录表
 * </p>
 *
 * @author whale
 * @since 2025-05-16
 */
@TableName("tb_system_alerts")
public class SystemAlerts extends Model<SystemAlerts> {

    private static final long serialVersionUID = 1L;

    /**
     * 报警记录唯一标识
     */
    @TableId("alert_id")
    private Long alertId;
    /**
     * 报警类型（如系统故障、性能瓶颈）
     */
    @TableField("alert_type")
    private String alertType;
    /**
     * 报警描述
     */
    private String description;
    /**
     * 严重程度（0：低，1：中，2：高）
     */
    private Integer severity;
    /**
     * 报警时间
     */
    @TableField("alert_time")
    private Date alertTime;
    /**
     * 处理状态（0：未处理，1：已处理）
     */
    @TableField("handled_status")
    private Integer handledStatus;
    /**
     * 处理人ID（关联用户表）
     */
    @TableField("handled_by")
    private Long handledBy;
    /**
     * 处理时间
     */
    @TableField("handled_time")
    private Date handledTime;
    /**
     * 创建时间
     */
    @TableField("create_date")
    private Date createDate;
    /**
     * 更新时间
     */
    @TableField("update_date")
    private Date updateDate;


    public Long getAlertId() {
        return alertId;
    }

    public void setAlertId(Long alertId) {
        this.alertId = alertId;
    }

    public String getAlertType() {
        return alertType;
    }

    public void setAlertType(String alertType) {
        this.alertType = alertType;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Integer getSeverity() {
        return severity;
    }

    public void setSeverity(Integer severity) {
        this.severity = severity;
    }

    public Date getAlertTime() {
        return alertTime;
    }

    public void setAlertTime(Date alertTime) {
        this.alertTime = alertTime;
    }

    public Integer getHandledStatus() {
        return handledStatus;
    }

    public void setHandledStatus(Integer handledStatus) {
        this.handledStatus = handledStatus;
    }

    public Long getHandledBy() {
        return handledBy;
    }

    public void setHandledBy(Long handledBy) {
        this.handledBy = handledBy;
    }

    public Date getHandledTime() {
        return handledTime;
    }

    public void setHandledTime(Date handledTime) {
        this.handledTime = handledTime;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    @Override
    public String toString() {
        return "SystemAlerts{" +
        ", alertId=" + alertId +
        ", alertType=" + alertType +
        ", description=" + description +
        ", severity=" + severity +
        ", alertTime=" + alertTime +
        ", handledStatus=" + handledStatus +
        ", handledBy=" + handledBy +
        ", handledTime=" + handledTime +
        ", createDate=" + createDate +
        ", updateDate=" + updateDate +
        "}";
    }
}
